# shellcheck shell=sh
# shellcheck disable=SC2034

# ferreus_orbit Plugins for Dell
# "PowerEdge R430"|"PowerEdge R610"|"PowerEdge R620"|"PowerEdge R630"|
# "PowerEdge R640"||"PowerEdge R6525")
	 
fo_get_sorted_name(){
  id=$(fo_get_id)
  if [ "$USE_FO_NAME" -lt 1 ]; then
    echo "sd$(fo_get_dev_letter "${id}")"
    exit 0
  else
      echo "Disk${id}"
    exit 0
  fi
}

fo_get_did(){
  id=$(fo_get_id)
  dg=$(jq -r ".[\"VD LIST\"][]|select(.[\"DG/VD\"]|endswith(\"/${id}\")).\"DG/VD\"" "${FO_CACHE_FILE_STORCLI}"|cut -d'/' -f1)
  jq -r ".[\"TOPOLOGY\"][]|select(.DG==${dg})|select(.Type==\"DRIVE\").DID" "${FO_CACHE_FILE_STORCLI}"
}

fo_get_id(){
  if [ -n "$ID_BUS" ] && [ "$ID_BUS" = "scsi" ]; then
     id=$(echo "$DEVPATH" | cut -d/ -f8| cut -d: -f3)
  else
    name=$(echo "$DEVNAME"| cut -d/ -f3)
    if [ "$(printf '%s' "${name}"| cut -c1-4)" = "nvme" ]; then
      id=$(echo "${name}"|awk -F'[^0-9.]+' '{print $2}')
    else
      id=$(fo_get_dev_ascii "${name}")
    fi
    if [ -z "$id" ]; then
      logger -t "udev" "Device ${name} detected but not supported"
      exit 1
    fi
  fi
  echo "$id"
}

FO_DISPOSITION="Disposition unavailable"

fo_load_storcli